home *** CD-ROM | disk | FTP | other *** search
/ PC World Interactive 7 / PC World Interactive 7.iso / program / vbkontrol.exe / VBSTAK.ZIP / VBSTAK / VBSTAK.TXT < prev    next >
Text File  |  1995-05-14  |  18KB  |  466 lines

  1. '//-----------------------------------------------------------------------
  2. '//
  3. '// VBStak constant definitions
  4. '//
  5. '// Date: 02/20/95
  6. '// Version: 1.2
  7. '//
  8. '//
  9. '//-----------------------------------------------------------------------------
  10.  
  11. '// Stak Status defines
  12. Global Const STAK_STATUS_IDLE = 0
  13. Global Const STAK_STATUS_INITIALIZED = 1
  14. Global Const STAK_STATUS_OPENED = 2
  15. Global Const STAK_STATUS_BOUND = 3
  16. Global Const STAK_STATUS_CONNECTED = 4
  17. Global Const STAK_STATUS_SENDING = 5
  18. Global Const STAK_STATUS_LISTENING = 6
  19. Global Const STAK_STATUS_ACCEPTED = 7
  20.  
  21. '//-----------------------------------------------------------------------------
  22. '// Stak Errors
  23. Global Const NO_ERROR = 0
  24. Global Const STAK_ERROR_NOPORTS = &H7000
  25. Global Const STAK_ERROR_INVALID_ADDRESS = &H7001
  26.  
  27. '//-----------------------------------------------------------------------------
  28. '// Stak Action
  29. Global Const STAK_ACTION_OPEN = 0
  30. Global Const STAK_ACTION_CLOSE = 1
  31. Global Const STAK_ACTION_SEND = 2
  32. Global Const STAK_ACTION_SEND_TO = 2
  33. Global Const STAK_ACTION_GET_SERVICE = 4
  34. Global Const STAK_ACTION_GET_HOST = 5
  35. Global Const STAK_ACTION_GET_PROTOCOL = 6
  36. Global Const STAK_ACTION_LISTEN = 7
  37.  
  38. '------------------------------------------------------------------
  39. '
  40. ' Global Constants from BSD Sockets
  41. '
  42.  
  43. Global Const FD_SETSIZE = 64
  44. Global Const IOCPARM_MASK = &H7F               '/* parameters must be < 128 bytes */
  45. Global Const IOC_VOID = &H20000000            '/* no parameters */
  46. Global Const IOC_OUT = &H40000000             '/* copy out parameters */
  47. Global Const IOC_IN = &H80000000              '/* copy in parameters */
  48. Global Const IOC_INOUT = &HC0000000
  49. '/*
  50. ' * Constants and structures defined by the internet system,
  51. ' * Per RFC 790, September 1981, taken from the BSD file netinet/in.h.
  52. ' */
  53.  
  54. '/*
  55. ' * Protocols
  56. ' */
  57. Global Const IPPROTO_IP = 0                           '/* dummy for IP */
  58. Global Const IPPROTO_ICMP = 1                         '/* control message protocol */
  59. Global Const IPPROTO_GGP = 2                          '/* gateway^2 (deprecated) */
  60. Global Const IPPROTO_TCP = 6                          '/* tcp */
  61. Global Const IPPROTO_PUP = 12                         '/* pup */
  62. Global Const IPPROTO_UDP = 17                         '/* user datagram protocol */
  63. Global Const IPPROTO_IDP = 22                         '/* xns idp */
  64. Global Const IPPROTO_ND = 77                          '/* UNOFFICIAL net disk proto */
  65.  
  66. Global Const IPPROTO_RAW = 255                        '/* raw IP packet */
  67. Global Const IPPROTO_MAX = 256
  68.  
  69. '/*
  70. ' * Port/socket numbers: network standard functions
  71. ' */
  72. Global Const IPPORT_ANY = 0
  73. Global Const IPPORT_ECHO = 7
  74. Global Const IPPORT_DISCARD = 9
  75. Global Const IPPORT_SYSTAT = 11
  76. Global Const IPPORT_DAYTIME = 13
  77. Global Const IPPORT_NETSTAT = 15
  78. Global Const IPPORT_FTP = 21
  79. Global Const IPPORT_TELNET = 23
  80. Global Const IPPORT_SMTP = 25
  81. Global Const IPPORT_TIMESERVER = 37
  82. Global Const IPPORT_NAMESERVER = 42
  83. Global Const IPPORT_WHOIS = 43
  84. Global Const IPPORT_MTP = 57
  85.  
  86. '/*
  87. ' * Port/socket numbers: host specific functions
  88. ' */
  89. Global Const IPPORT_TFTP = 69
  90. Global Const IPPORT_RJE = 77
  91. Global Const IPPORT_FINGER = 79
  92. Global Const IPPORT_TTYLINK = 87
  93. Global Const IPPORT_SUPDUP = 95
  94.  
  95. '/*
  96. ' * UNIX TCP sockets
  97. ' */
  98. Global Const IPPORT_EXECSERVER = 512
  99. Global Const IPPORT_LOGINSERVER = 513
  100. Global Const IPPORT_CMDSERVER = 514
  101. Global Const IPPORT_EFSSERVER = 520
  102.  
  103. '/*
  104. '* UNIX UDP sockets
  105. ' */
  106. Global Const IPPORT_BIFFUDP = 512
  107. Global Const IPPORT_WHOSERVER = 513
  108. Global Const IPPORT_ROUTESERVER = 520
  109.                                        ' /* 520+1 also used */
  110.  
  111. '/*
  112. ' * Ports < IPPORT_RESERVED are reserved for
  113. ' * privileged processes (e.g. root).
  114. ' */
  115. Global Const IPPORT_RESERVED = 1024
  116.                                  
  117. '/*
  118. ' * Link numbers
  119. ' */
  120. Global Const IMPLINK_IP = 155
  121. Global Const IMPLINK_LOWEXPER = 156
  122. Global Const IMPLINK_HIGHEXPER = 158
  123. Global Const INADDR_ANY = &H0
  124. Global Const INADDR_LOOPBACK = &H7F000001
  125. Global Const INADDR_BROADCAST = &HFFFFFFFF
  126. Global Const INADDR_NONE = &HFFFFFFFF
  127.  
  128. Global Const WSADESCRIPTION_LEN = 256
  129. Global Const WSASYS_STATUS_LEN = 128
  130.  
  131. '/*
  132. ' * Options for use with [gs]etsockopt at the IP level.
  133. ' */
  134. Global Const IP_OPTIONS = 1                   '/* set/get IP per-packet options */
  135.  
  136. '/*
  137. ' * Definitions related to sockets: types, address families, options,
  138. ' * taken from the BSD file sys/socket.h.
  139. ' */
  140.  
  141. '/*
  142. ' * SOCKET type is unsigned.
  143. ' */
  144. Global Const INVALID_SOCKET = &HFFFF   '?? (SOCKET)(~0)
  145. Global Const SOCKET_ERROR = -1
  146.  
  147. '/*
  148. ' * Types
  149. ' */
  150. Global Const SOCK_STREAM = 1                  '/* stream socket */
  151. Global Const SOCK_DGRAM = 2                   '/* datagram socket */
  152. Global Const SOCK_RAW = 3                     '/* raw-protocol interface */
  153. Global Const SOCK_RDM = 4                     '/* reliably-delivered message */
  154. Global Const SOCK_SEQPACKET = 5               '/* sequenced packet stream */
  155.  
  156. '/*
  157. ' * Option flags per-socket.
  158. ' */
  159. Global Const SO_DEBUG = &H1                    '/* turn on debugging info recording */
  160. Global Const SO_ACCEPTCONN = &H2              '/* socket has had listen() */
  161. Global Const SO_REUSEADDR = &H4               '/* allow local address reuse */
  162. Global Const SO_KEEPALIVE = &H8               '/* keep connections alive */
  163. Global Const SO_DONTROUTE = &H10              '/* just use interface addresses */
  164. Global Const SO_BROADCAST = &H20              '/* permit sending of broadcast msgs */
  165. Global Const SO_USELOOPBACK = &H40            '/* bypass hardware when possible */
  166. Global Const SO_LINGER = &H80                 '/* linger on close if data present */
  167. Global Const SO_OOBINLINE = &H100             '/* leave received OOB data in line */
  168.  
  169. '#define SO_DONTLINGER   (u_int)(~SO_LINGER)
  170.  
  171. '/*
  172. ' * Additional options.
  173. ' */
  174. Global Const SO_SNDBUF = &H1001               '/* send buffer size */
  175. Global Const SO_RCVBUF = &H1002               '/* receive buffer size */
  176. Global Const SO_SNDLOWAT = &H1003             '/* send low-water mark */
  177. Global Const SO_RCVLOWAT = &H1004            ' /* receive low-water mark */
  178. Global Const SO_SNDTIMEO = &H1005             '/* send timeout */
  179. Global Const SO_RCVTIMEO = &H1006             '/* receive timeout */
  180. Global Const SO_ERROR = &H1007                '/* get error status and clear */
  181. Global Const SO_TYPE = &H1008                ' /* get socket type */
  182.  
  183. '/*
  184. ' * TCP options.
  185. ' */
  186. Global Const TCP_NODELAY = &H1
  187.  
  188. '/*
  189. ' * Address families.
  190. ' */
  191. Global Const AF_UNSPEC = 0                    '/* unspecified */
  192. Global Const AF_UNIX = 1                      '/* local to host (pipes, portals) */
  193. Global Const AF_INET = 2                      '/* internetwork: UDP, TCP, etc. */
  194. Global Const AF_IMPLINK = 3                   '/* arpanet imp addresses */
  195. Global Const AF_PUP = 4                       '/* pup protocols: e.g. BSP */
  196. Global Const AF_CHAOS = 5                     '/* mit CHAOS protocols */
  197. Global Const AF_NS = 6                       '/* XEROX NS protocols */
  198. Global Const AF_ISO = 7                       '/* ISO protocols */
  199. Global Const AF_OSI = AF_ISO                  '/* OSI is ISO */
  200. Global Const AF_ECMA = 8                      '/* european computer manufacturers */
  201. Global Const AF_DATAKIT = 9                   '/* datakit protocols */
  202. Global Const AF_CCITT = 10                    '/* CCITT protocols, X.25 etc */
  203. Global Const AF_SNA = 11                      '/* IBM SNA */
  204. Global Const AF_DECnet = 12                   '/* DECnet */
  205. Global Const AF_DLI = 13                      '/* Direct data link interface */
  206. Global Const AF_LAT = 14                      '/* LAT */
  207. Global Const AF_HYLINK = 15                   '/* NSC Hyperchannel */
  208. Global Const AF_APPLETALK = 16                '/* AppleTalk */
  209. Global Const AF_NETBIOS = 17                  '/* NetBios-style addresses */
  210.  
  211. Global Const AF_MAX = 18
  212. '/*
  213. ' * Level number for (get/set)sockopt() to apply to socket itself.
  214. ' */
  215. Global Const SOL_SOCKET = &HFFFF              '/* options for socket level */
  216.  
  217. ''/*
  218. ' * Maximum queue length specifiable by listen.
  219. ' */
  220. Global Const SOMAXCONN = 5
  221.  
  222. Global Const MSG_OOB = &H1                    '/* process out-of-band data */
  223. Global Const MSG_PEEK = &H2                   '/* peek at incoming message */
  224. Global Const MSG_DONTROUTE = &H4             '/* send without using routing tables */
  225.  
  226. Global Const MSG_MAXIOVLEN = 16
  227.  
  228. '/*
  229. ' * Define constant based on rfc883, used by gethostbyxxxx() calls.
  230. ' */
  231. Global Const MAXGETHOSTSTRUCT = 1024
  232.  
  233. '/*
  234. ' * Define flags to be used with the WSAAsyncSelect() call.
  235. ' */
  236. Global Const FD_READ = &H1
  237. Global Const FD_WRITE = &H2
  238. Global Const FD_OOB = &H4
  239. Global Const FD_ACCEPT = &H8
  240. Global Const FD_CONNECT = &H10
  241. Global Const FD_CLOSE = &H20
  242.  
  243. '/* Additional VB_STAK flags
  244. Global Const STAK_EVENT_SERVICE = &H40
  245. Global Const STAK_EVENT_HOST = &H80
  246. Global Const STAK_EVENT_PROTOCOL = &H100
  247. Global Const STAK_EVENT_READ = &H1
  248. Global Const STAK_EVENT_WRITE = &H2
  249. Global Const STAK_EVENT_OOB = &H4
  250. Global Const STAK_EVENT_ACCEPT = &H8
  251. Global Const STAK_EVENT_CONNECT = &H10
  252. Global Const STAK_EVENT_CLOSE = &H20
  253. '/*
  254. ' * All Windows Sockets error constants are biased by WSABASEERR from
  255.  '* the "normal"
  256. ' */
  257. Global Const WSABASEERR = 10000
  258. Global Const WS_ERROR = &H4000
  259. Global Const WS_ERROR_INVALID_ADDRESS = &H4001
  260. '/*
  261. ' * Windows Sockets definitions of regular Microsoft C error constants
  262. ' */
  263. 'VB Note: reference to the following error codes requires an offset of
  264. ' WSBASEERR
  265. ' eg. if WSAGetLastError() = WSBASEERR+WSAEINTR then ...
  266. '
  267. ' I use a WSerrorCheck() function to get and verify error codes
  268.  
  269. Global Const WSAEINTR = 4
  270. Global Const WSAEBADF = 9
  271. Global Const WSAEACCES = 13
  272. Global Const WSAEFAULT = 14
  273. Global Const WSAEINVAL = 22
  274. Global Const WSAEMFILE = 24
  275.  
  276. '/*
  277. ' * Windows Sockets definitions of regular Berkeley error constants
  278. ' */
  279. Global Const WSAEWOULDBLOCK = 35
  280. Global Const WSAEINPROGRESS = 36
  281. Global Const WSAEALREADY = 37
  282. Global Const WSAENOTSOCK = 38
  283. Global Const WSAEDESTADDRREQ = 39
  284. Global Const WSAEMSGSIZE = 40
  285. Global Const WSAEPROTOTYPE = 41
  286. Global Const WSAENOPROTOOPT = 42
  287. Global Const WSAEPROTONOSUPPORT = 43
  288. Global Const WSAESOCKTNOSUPPORT = 44
  289. Global Const WSAEOPNOTSUPP = 45
  290. Global Const WSAEPFNOSUPPORT = 46
  291. Global Const WSAEAFNOSUPPORT = 47
  292. Global Const WSAEADDRINUSE = 48
  293. Global Const WSAEADDRNOTAVAIL = 49
  294. Global Const WSAENETDOWN = 50
  295. Global Const WSAENETUNREACH = 51
  296. Global Const WSAENETRESET = 52
  297. Global Const WSAECONNABORTED = 53
  298. Global Const WSAECONNRESET = 54
  299. Global Const WSAENOBUFS = 55
  300. Global Const WSAEISCONN = 56
  301. Global Const WSAENOTCONN = 57
  302. Global Const WSAESHUTDOWN = 58
  303. Global Const WSAETOOMANYREFS = 59
  304. Global Const WSAETIMEDOUT = 60
  305. Global Const WSAECONNREFUSED = 61
  306. Global Const WSAELOOP = 62
  307. Global Const WSAENAMETOOLONG = 63
  308. Global Const WSAEHOSTDOWN = 64
  309. Global Const WSAEHOSTUNREACH = 65
  310. Global Const WSAENOTEMPTY = 66
  311. Global Const WSAEPROCLIM = 67
  312. Global Const WSAEUSERS = 68
  313. Global Const WSAEDQUOT = 69
  314. Global Const WSAESTALE = 70
  315. Global Const WSAEREMOTE = 71
  316.  
  317. '/*
  318. ' * Extended Windows Sockets error constant definitions
  319. ' */
  320. Global Const WSASYSNOTREADY = 91
  321. Global Const WSAVERNOTSUPPORTED = 92
  322. Global Const WSANOTINITIALISED = 93
  323.  
  324. '/*
  325. ' * Error return codes from gethostbyname( and gethostbyaddr()
  326. ' * (when using the resolver). Note that these errors are
  327. ' * retrieved via WSAGetLastError() and must therefore follow
  328. ' * the rules for avoiding clashes with error numbers from
  329. ' * specific implementations or language run-time systems.
  330. ' * For this reason the codes are based at 1000+1001.
  331. ' * Note also that [WSA]NO_ADDRESS is defined only for
  332. ' * compatibility purposes.
  333. ' */
  334.  
  335.  
  336. '/* Authoritative Answer: Host not found */
  337. Global Const WSAHOST_NOT_FOUND = 1001
  338. Global Const HOST_NOT_FOUND = 1001
  339.  
  340. '/* Non-Authoritative: Host not found, or SERVERFAIL */
  341. Global Const WSATRY_AGAIN = 1002
  342. Global Const TRY_AGAIN = 1002
  343.  
  344. '/* Non recoverable errors, FORMERR, REFUSED, NOTIMP */
  345. Global Const WSANO_RECOVERY = 1003
  346. Global Const NO_RECOVERY = 1003
  347.  
  348. '/* Valid name, no data record of requested type */
  349. Global Const WSANO_DATA = 1004
  350. Global Const NO_DATA = 1004
  351.  
  352. '/* no address, look for MX record */
  353. Global Const WSANO_ADDRESS = 1004
  354. Global Const NO_ADDRESS = 1004
  355.  
  356. '/*
  357. ' * Windows Sockets errors redefined as regular Berkeley error constants
  358. ' */
  359. Global Const EWOULDBLOCK = 35
  360. Global Const EINPROGRESS = 36
  361. Global Const EALREADY = 37
  362. Global Const ENOTSOCK = 38
  363. Global Const EDESTADDRREQ = 39
  364. Global Const EMSGSIZE = 40
  365. Global Const EPROTOTYPE = 41
  366. Global Const ENOPROTOOPT = 42
  367. Global Const EPROTONOSUPPORT = 43
  368. Global Const ESOCKTNOSUPPORT = 44
  369. Global Const EOPNOTSUPP = 45
  370. Global Const EPFNOSUPPORT = 46
  371. Global Const EAFNOSUPPORT = 47
  372. Global Const EADDRINUSE = 48
  373. Global Const EADDRNOTAVAIL = 49
  374. Global Const ENETDOWN = 50
  375. Global Const ENETUNREACH = 51
  376. Global Const ENETRESET = 52
  377. Global Const ECONNABORTED = 53
  378. Global Const ECONNRESET = 54
  379. Global Const ENOBUFS = 55
  380. Global Const EISCONN = 56
  381. Global Const ENOTCONN = 57
  382. Global Const ESHUTDOWN = 58
  383. Global Const ETOOMANYREFS = 59
  384. Global Const ETIMEDOUT = 60
  385. Global Const ECONNREFUSED = 61
  386. Global Const ELOOP = 62
  387. Global Const ENAMETOOLONG = 63
  388. Global Const EHOSTDOWN = 64
  389. Global Const EHOSTUNREACH = 65
  390. Global Const ENOTEMPTY = 66
  391. Global Const EPROCLIM = 67
  392. Global Const EUSERS = 68
  393. Global Const EDQUOT = 69
  394. Global Const ESTALE = 70
  395. Global Const EREMOTE = 71
  396.  
  397. ' Errors
  398. Global Const WSANOTINITIALISED_S = "A successful WSAStartup() must occur before using this API."
  399. Global Const WSAENETDOWN_S = "The Windows Sockets implementation has detected that the network subsystem has failed."
  400. Global Const WSAEADDRINUSE_S = "The specified address is already in use.  (See the SO_REUSEADDR socket option under setsockopt().)"
  401. Global Const WSAEFAULT_S = "The namelen argument is too small (less than the size of a struct sockaddr)."
  402. Global Const WSAEINTR_S = "The (blocking) call was canceled via WSACancelBlockingCall()"
  403. Global Const WSAEINPROGRESS_S = "A blocking Windows Sockets call is in progress."
  404. Global Const WSAEAFNOSUPPORT_S = "The specified address family is not supported by this protocol."
  405. Global Const WSAEINVAL_S = "The socket is already bound to an address."
  406. Global Const WSAENOBUFS_S = " Not enough buffers available, too many connections."
  407. Global Const WSAENOTSOCK_S = "The descriptor is not a socket."
  408. Global Const WSAEADDRNOTAVAIL_S = "The specified address is not available from the local machine."
  409. Global Const WSAECONNREFUSED_S = "The attempt to connect was forcefully rejected."
  410. Global Const WSAEDESTADDREQ_S = "A destination address is required."
  411. Global Const WSAEISCONN_S = "The socket is already connected."
  412. Global Const WSAEMFILE_S = "No more file descriptors are available."
  413. Global Const WSAENETUNREACH_S = "The network can't be reached from this host at this time."
  414. Global Const WSAETIMEDOUT_S = "Attempt to connect timed out without establishing a connection"
  415. Global Const WSAEWOULDBLOCK_S = "The socket is marked as non-blocking and the connection cannot be completed immediately.  It is possible to select() the socket while it is connecting by select()ing it for writing."
  416. Global Const WSAHOST_NOT_FOUND_S = "Authoritative Answer Host not found."
  417. Global Const WSATRY_AGAIN_S = "Non-Authoritative Host not found, or SERVERFAIL."
  418. Global Const WSANO_RECOVERY_S = "Non recoverable errors, FORMERR, REFUSED, NOTIMP."
  419. Global Const WSANO_DATA_S = "Valid name, no data record of requested type."
  420. Global Const WSAENOPROTOOPT_S = "The option is unknown or unsupported.  In particular."
  421. Global Const WSAEACCES_S = "The requested address is a broadcast address, but the appropriate flag was not set."
  422. Global Const WSAENETRESET_S = "The connection must be reset because the Windows Sockets implementation dropped it."
  423. Global Const WSAENOTCONN_S = "The socket is not connected."
  424. Global Const WSAEOPNOTSUPP_S = "MSG_OOB was specified, but the socket is not of type SOCK_STREAM."
  425. Global Const WSAESHUTDOWN_S = "The socket has been shutdown; it is not possible to send() on a socket after shutdown() has been invoked with how set to 1 or 2."
  426. Global Const WSAEMSGSIZE_S = "The socket is of type SOCK_DGRAM, and the datagram is larger than the maximum supported by the Windows Sockets implementation."
  427. Global Const WSAECONNABORTED_S = "The virtual circuit was aborted due to timeout or other failure."
  428. Global Const WSAECONNRESET_S = "The virtual circuit was reset by the remote side."
  429.  
  430. '----------------------------------------------------------------
  431. '
  432. ' Well Known Services
  433. '
  434. Global Const WKS_ECHO = 7
  435. Global Const WKS_SYSTAT = 11
  436. Global Const WKS_NETSTAT = 15
  437. Global Const WKS_FTPDATA = 20
  438. Global Const WKS_FTP = 21
  439. Global Const WKS_TELNET = 23
  440. Global Const WKS_SMTP = 25
  441. Global Const WKS_TIME = 37
  442. Global Const WKS_NAME = 42
  443. Global Const WKS_WHOIS = 43
  444. Global Const WKS_DOMAIN = 53
  445. Global Const WKS_HOSTNAME = 101
  446. ' Host Specific
  447. Global Const WKS_TFPT = 69
  448. Global Const WKS_RJE = 77
  449. Global Const WKS_FINGER = 79
  450. Global Const WKS_LINK = 87
  451. Global Const WKS_SUPDUP = 95
  452. Global Const WKS_POP_2 = 109
  453. Global Const WKS_UUCP_PATH = 117
  454. Global Const WKS_NNTP = 119
  455. Global Const WKS_NTP = 123
  456. 'UNIX Specific
  457. Global Const WKS_EXEC = 512
  458. Global Const WKS_LOGIN = 513
  459. Global Const WKS_SHELL = 514
  460. Global Const WKS_BIFF = 512
  461. Global Const WKS_WHO = 513
  462. Global Const WKS_SYSLOG = 514
  463. Global Const WKS_TALK = 517
  464. Global Const WKS_ROUTE = 520
  465.  
  466.